package veterinaria.negocio;

import java.util.Collection;
import veterinaria.dao.PacienteDAO;
import veterinaria.excepcion.DAOExcepcion;
import veterinaria.modelo.Paciente;
import veterinaria.modelo.Especie;
import veterinaria.modelo.Raza;
import veterinaria.modelo.Cliente;

public class GestionPaciente {

    public Collection<Paciente> buscarPorNombre(String nombre) throws DAOExcepcion {
        PacienteDAO dao = new PacienteDAO();
        return dao.listar();
    }

    public Paciente insertar(String pNom, String pGen, String pTSa,String pEst, String pTam, String pAct, Double pPes, 
           String pFNa, String pNot, String pCon, String pIma, Especie pEsp, Raza pRaz, Cliente pCli) throws DAOExcepcion {
        PacienteDAO dao = new PacienteDAO();
        Paciente cReg = new Paciente();
        cReg.setPacNombre(pNom);
        cReg.setPacGenero(pGen);
        cReg.setPacTSangre(pTSa);
        cReg.setPacEsterilizado(pEst);
        cReg.setPacTamano(pTam);
        cReg.setPacActividad(pAct);
        cReg.setPacPeso(pPes);
        cReg.setPacFNacimiento(pFNa);
        cReg.setPacNotas(pNot);
        cReg.setPacCondicion(pCon);
        cReg.setPacImagen(pIma);
        cReg.setEspecie(pEsp);
        cReg.setRaza(pRaz);
        cReg.setCliente(pCli);                
        return dao.insertar(cReg);
    }

    public Paciente obtener(int pCod) throws DAOExcepcion {
        PacienteDAO dao = new PacienteDAO();
        return dao.obtener(pCod);
    }

    public void eliminar(int pCod) throws DAOExcepcion {
        PacienteDAO dao = new PacienteDAO();
        dao.eliminar(pCod);
    }

    public Paciente actualizar(int PacCodigo,String pNom, String pGen, String pTSa,String pEst, String pTam, String pAct, Double pPes, 
           String pFNa, String pNot, String pCon, String pIma, Especie pEsp, Raza pRaz, Cliente pCli) throws DAOExcepcion {                         
        PacienteDAO dao=new PacienteDAO();
        Paciente cReg=new Paciente();              
        cReg.setPacNombre(pNom);
        cReg.setPacGenero(pGen);
        cReg.setPacTSangre(pTSa);
        cReg.setPacEsterilizado(pEst);
        cReg.setPacTamano(pTam);
        cReg.setPacActividad(pAct);
        cReg.setPacPeso(pPes);
        cReg.setPacFNacimiento(pFNa);
        cReg.setPacNotas(pNot);
        cReg.setPacCondicion(pCon);
        cReg.setPacImagen(pIma);
        cReg.setEspecie(pEsp);
        cReg.setRaza(pRaz);
        cReg.setCliente(pCli);                
        return dao.insertar(cReg);
    }
    
    public Collection<Paciente> listar() throws DAOExcepcion {
        PacienteDAO dao = new PacienteDAO();
        return dao.listar();
    }

}